// 适配异类框架

// 1.定义框架
var A = A || {};
// 通过ID获取元素
A.g = function(id) {
  return document.getElementById(id);
}
// 为元素绑定事件
A.on = function(id, type, fn) {
  var dom = typeof id === 'string' ? this.g(id) : id;
  if (dom.addEventListener) {
    // 对于支持 DOM2 级事件处理程序 addEventListener 方法的浏览器
    dom.addEventListener(type, fn, false);
  } else if (dom.attachEvent) {
    dom.attachEvent('on' + type, function() {
      fn.call(dom);
    });
  } else {
    dom[on + 'type'] = fn;
  }
}


// 2.适配 jQuery
A.g = function(id) {
  return $(id).get(0);
}
A.on = function(id, type, fn) {
  var dom = typeof id === 'string' ? this.g(id) : id;
  dom.on(type, fn);
};


// 测试：窗口加载完成事件
A.on(window, 'load', function() {
  // 按钮点击事件
  A.on('mybutton', 'click', function() {
    // do something
  });
});






